home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 2003 March / JOY146_CD2.iso / Data / Sharewares / Jeux / vs5full.exe / {app} / vs.fgd < prev    next >
Text File  |  2003-01-30  |  56KB  |  2,158 lines

  1. //
  2. // Half-Life Vampire Slayer game definition file (.fgd) 
  3. // for Valve Hammer and above, and Half-Life 1.1.1.0 and above
  4. //
  5. // -------------------------------------------------------------
  6. // Jan 4th 2002 - Routetwo
  7. // -------------------------------------------------------------
  8. // added gamemodes (ctc & func_breakpoints) and rounddraw entities
  9. //
  10. // -------------------------------------------------------------
  11. // October 23th 2002 - Sobek
  12. // -------------------------------------------------------------
  13. //     - Added 'TexLightType' BaseClass for switchable texture lights (STL)
  14. //    Note: STL feature  will only work, when you use these compile tools: http://spirit.valve-erc.com/files/TexLightSwitch04.zip
  15. //
  16. // -------------------------------------------------------------
  17. // June 30th 2002 - Routetwo
  18. // -------------------------------------------------------------
  19. // Coloured info_player_* to leave wireframe size intact.
  20. // Added env_fog and env_efx to fgd.
  21. //
  22. // -------------------------------------------------------------
  23. // February 17th 2002 - Sobek
  24. // -------------------------------------------------------------
  25. //    -added new sprites for: AIscripted_sequence, Cycler, Cycler_weapon, env_beam, env_explosion, env_global,
  26. //    env_funnel, env_laser, env_render, env_shooter, env_sound, env_spark, game_counter, game_counter_set,
  27. //    game_end, game_player_equip, game_player_hurt, game_player_team, game_score, game_team_master,
  28. //    game_team_set, game_text, info_teleport_destination, item_antidote, item_security, player_weaponstrip,
  29. //    scripted_sentence, scripted_sequence, target_cdaudio
  30. //
  31. // -------------------------------------------------------------
  32. // February 10th 2002 - Sobek - first public release
  33. // -------------------------------------------------------------
  34. //    - added Angular Velocity to func_train
  35. //    - created ZHLT_point baseclass
  36. //    - added ZHLT_point base to light, light_environment, and light_spot
  37. //    - created ZHLTlightflags baseclass 
  38. //    - added ZHLTflags base to all applicable brush entities
  39. //    - added _fade and _falloff keys to the light_ entities.  Need ZHLT 2.2+
  40. //    for these to work.
  41. //    - added light_origin key to the ZHLT Light Flags BaseClass.  Again, you
  42. //    need the latest version of Zoner's Tools for light_origin to work.
  43. //    - changed func_water default WaveHeight to 0
  44. //    - removed commented out "master" option for game_zone_player. It was commented out from the 
  45. //      original VS FGD for some reason. Not sure why or if maybe there is a problem with it?
  46. //    - changed gibshooter baseclass
  47. //    - created trackchange, BeamStartEnd, BaseTank baseclasses
  48. //    - added:-target, teleport_destination to info entities
  49. //        -teleport to triggers
  50. //        -beam to environmental effects
  51. //        -mortar_field, tankmortar, ,tankrocket, tanklaser, tankcontrols, guntarget to function entities
  52. //        -antidote, security to items
  53. //        -gibshooter, aiscripted_sequence entity
  54. //    - renamed 'cycler' to 'Model Cycler', rather than 'Monster cycler'
  55. //    - deleted entities: func_monsterclip, info_landmark, info_node, info_node_air,
  56. //    info_player_coop, trigger_changelevel, trigger_endsection, trigger_monsterjump, trigger_ transition
  57. //    - added new sprites for: ambient_generic, multi_manager, multi_source, path_corner, path_track, speaker,
  58. //    env_beverage, env_blood, env_fade, env_message, env_shake, info_null, info_player_deathmatch, info_player_slayer,
  59. //    info_player_vampire, info_target, light, light_environment, light_spot, trigger_auto, trigger_camera, trigger_relay
  60. // ---------------------------------------------------------------------------------
  61. // Note:  I know that some entities will not work in VS, but I left
  62. // them in because you never know, if they are needed in the future.
  63. // ---------------------------------------------------------------------------------
  64.  
  65. //
  66. // worldspawn
  67. //
  68.  
  69. @SolidClass = worldspawn : "World entity"
  70. [
  71.     message(string) : "Map Description / Title"
  72.     skyname(string) : "environment map (cl_skyname)"
  73.     sounds(integer) : "CD track to play" : 1
  74.     light(integer) : "Default light level"
  75.     WaveHeight(string) : "Default Wave Height"
  76.     MaxRange(string) : "Max viewable distance" : "4096"
  77.     chaptertitle(string) : "Chapter Title Message"
  78.     startdark(choices) : "Level Fade In" : 0 =
  79.     [    
  80.         0 : "No"
  81.         1 : "Yes"
  82.     ]
  83.     gametitle(choices) : "Display game title" : 0 = 
  84.     [    
  85.         0 : "No"
  86.         1 : "Yes"
  87.     ]
  88.     newunit(choices) : "New Level Unit" : 0 = 
  89.     [
  90.         0 : "No, keep current"
  91.         1 : "Yes, clear previous levels"
  92.     ]
  93.     mapteams(string) : "Map Team List"
  94.     defaultteam(choices) : "Default Team" : 0 = 
  95.     [
  96.         0 : "Fewest Players"
  97.         1 : "First Team"
  98.     ]
  99. ]
  100.  
  101. //
  102. // BaseClasses
  103. //
  104.  
  105. @BaseClass = ZHLT
  106. [
  107.     zhlt_lightflags(choices) : "ZHLT Lightflags" : 0 =
  108.     [
  109.         0 : "Default"
  110.         1 : "Embedded Fix"
  111.         2 : "Opaque (blocks light)"
  112.         3 : "Opaque + Embedded fix"
  113.         6 : "Opaque + Concave Fix"
  114.     ]
  115.     light_origin(string) : "Light Origin Target"
  116. ]
  117.  
  118. @BaseClass = ZHLT_point
  119. [
  120.     _fade(string) : "ZHLT Fade" : "1.0"
  121.     _falloff(choices) : "ZHLT Falloff" : 0 =
  122.     [
  123.         0 : "Default"
  124.         1 : "Inverse Linear"
  125.         2 : "Inverse Square"
  126.     ]
  127. ]
  128.  
  129. @BaseClass = Appearflags
  130. [
  131.     spawnflags(Flags) =
  132.     [
  133.         2048 : "Not in Deathmatch" : 0
  134.     ]
  135. ]
  136.  
  137. @BaseClass = Angles
  138. [
  139.     angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
  140. ]
  141.  
  142. @BaseClass size(0 0 0, 32 32 32) color(80 0 200) base(Appearflags) = Ammo []
  143.  
  144. @BaseClass = Targetname 
  145.     targetname(target_source) : "Name"
  146. ]
  147. @BaseClass = Target 
  148.     target(target_destination) : "Target" 
  149. ]
  150. @BaseClass size(-16 -16 0, 16 16 32) color(0 0 200) base(Targetname, Appearflags, Angles) = Weapon []
  151. @BaseClass = Global 
  152.     globalname(string) : "Global Entity Name" 
  153. ]
  154.  
  155. @BaseClass base(Target) = Targetx 
  156. [
  157.     delay(string) : "Delay before trigger" : "0"
  158.     killtarget(target_destination) : "KillTarget"
  159. ]
  160.  
  161. @BaseClass = RenderFxChoices
  162. [
  163.     renderfx(choices) :"Render FX" : 0 =
  164.     [
  165.         0: "Normal"
  166.         1: "Slow Pulse"
  167.         2: "Fast Pulse"
  168.         3: "Slow Wide Pulse"
  169.         4: "Fast Wide Pulse"
  170.         9: "Slow Strobe"
  171.         10: "Fast Strobe"
  172.         11: "Faster Strobe"
  173.         12: "Slow Flicker"
  174.         13: "Fast Flicker"
  175.         5: "Slow Fade Away"
  176.         6: "Fast Fade Away"
  177.         7: "Slow Become Solid"
  178.         8: "Fast Become Solid"
  179.         14: "Constant Glow"
  180.         15: "Distort"
  181.         16: "Hologram (Distort + fade)"
  182.     ]
  183. ]
  184.  
  185. @BaseClass base(RenderFxChoices) = RenderFields 
  186. [
  187.     rendermode(choices) : "Render Mode" : 0 =
  188.     [
  189.         0: "Normal"
  190.         1: "Color"
  191.         2: "Texture"
  192.         3: "Glow"
  193.         4: "Solid"
  194.         5: "Additive"
  195.     ]
  196.     renderamt(integer) : "FX Amount (1 - 255)"
  197.     rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
  198. ]
  199.  
  200. @BaseClass = TexLightType
  201. [
  202.     style(choices) :"Texture Light Style" : 0 =
  203.     [
  204.         0 : "Normal"
  205.         -3: "Switch with TL@name"
  206.         10: "Fluorescent flicker"
  207.         2 : "Slow, strong pulse"
  208.         11: "Slow pulse, noblack"
  209.         5 : "Gentle pulse"
  210.         1 : "Flicker A"
  211.         6 : "Flicker B"
  212.         3 : "Candle A"
  213.         7 : "Candle B"
  214.         8 : "Candle C"
  215.         4 : "Fast strobe"
  216.         9 : "Slow strobe"
  217.     ]
  218. ]
  219.  
  220. @BaseClass base(Appearflags, Angles) size(-16 -16 -36, 16 16 36) color(0 255 0) = PlayerClass []
  221.  
  222. @BaseClass base(Target, Targetname, RenderFields, Angles) color(0 200 200) = Monster 
  223. [
  224.     TriggerTarget(String) : "TriggerTarget"
  225.       TriggerCondition(Choices) : "Trigger Condition" : 0 =
  226.     [
  227.         0 : "No Trigger"
  228.         1 : "See Player, Mad at Player"
  229.         2 : "Take Damage"
  230.         3 : "50% Health Remaining"
  231.         4 : "Death"
  232.         7 : "Hear World"
  233.         8 : "Hear Player"
  234.         9 : "Hear Combat"
  235.         10: "See Player Unconditional"
  236.         11: "See Player, Not In Combat"
  237.     ]
  238.     spawnflags(Flags) = 
  239.     [
  240.         1 : "WaitTillSeen"     : 0
  241.         2 : "Gag"        : 0
  242.         4 : "MonsterClip"    : 0
  243.         16: "Prisoner"        : 0
  244.         128: "WaitForScript"     : 0
  245.         256: "Pre-Disaster"     : 0
  246.         512: "Fade Corpse"    : 0
  247.     ]
  248. ]
  249.  
  250. @BaseClass = TalkMonster
  251. [
  252.     UseSentence(String) : "Use Sentence"
  253.     UnUseSentence(String) : "Un-Use Sentence"
  254. ]
  255.  
  256. @BaseClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) = gibshooterbase
  257. [
  258.     // how many pieces to create
  259.     m_iGibs(integer) : "Number of Gibs" : 3
  260.     
  261.     // delay (in seconds) between shots. If 0, all gibs shoot at once.
  262.     delay(string) : "Delay between shots" : "0"
  263.  
  264.     // how fast the gibs are fired
  265.     m_flVelocity(integer) : "Gib Velocity" : 200
  266.  
  267.     // Course variance
  268.     m_flVariance(string) : "Course Variance" : "0.15"
  269.  
  270.     // Time in seconds for gibs to live +/- 5%
  271.     m_flGibLife(string) : "Gib Life" : "4"
  272.  
  273.     spawnflags(Flags) = 
  274.     [
  275.         1 : "Repeatable"     : 0
  276.     ]
  277. ]
  278.  
  279. @BaseClass = Light 
  280. [
  281.     _light(color255) : "Brightness" : "255 255 128 200"
  282.       style(Choices) : "Appearance" : 0 =
  283.     [
  284.         0 : "Normal"
  285.         10: "Fluorescent flicker"
  286.         2 : "Slow, strong pulse"
  287.         11: "Slow pulse, noblack"
  288.         5 : "Gentle pulse"
  289.         1 : "Flicker A"
  290.         6 : "Flicker B"
  291.         3 : "Candle A"
  292.         7 : "Candle B"
  293.         8 : "Candle C"
  294.         4 : "Fast strobe"
  295.         9 : "Slow strobe"
  296.     ]
  297.     pattern(string) : "Custom Appearance"
  298. ]
  299.  
  300. @BaseClass base(Targetname,Global) = Breakable
  301. [
  302.     target(target_destination) : "Target on break"
  303.     health(integer) : "Strength" : 1
  304.     material(choices) :"Material type" : 0 =
  305.     [
  306.         0: "Glass"
  307.         1: "Wood"
  308.         2: "Metal"
  309.         3: "Flesh"
  310.         4: "Cinder Block"  
  311.         5: "Ceiling Tile"
  312.         6: "Computer"
  313.         7: "Unbreakable Glass"
  314.         8: "Rocks"
  315.     ]
  316.     explosion(choices) : "Gibs Direction" : 0 =
  317.     [
  318.         0: "Random"
  319.         1: "Relative to Attack"
  320.     ]
  321.     delay(string) : "Delay before fire" : "0"
  322.     gibmodel(studio) : "Gib Model" : ""
  323.     spawnobject(choices) : "Spawn On Break" : 0 =
  324.     [
  325.         0: "Nothing"
  326.         1: "Battery"
  327.         2: "Healthkit"
  328.         3: "9mm Handgun"
  329.         4: "9mm Clip"
  330.         5: "Machine Gun"
  331.         6: "Machine Gun Clip"
  332.         7: "Machine Gun Grenades"
  333.         8: "Shotgun"
  334.         9: "Shotgun Shells"
  335.         10: "Crossbow"
  336.         11: "Crossbow Bolts"
  337.         12: "357"
  338.         13: "357 clip"
  339.         14: "RPG"
  340.         15: "RPG Clip"
  341.         16: "Gauss clip"
  342.         17: "Hand grenade"
  343.         18: "Tripmine"
  344.         19: "Satchel Charge"
  345.         20: "Snark"
  346.         21: "Hornet Gun"
  347.     ]
  348.     explodemagnitude(integer) : "Explode Magnitude (0=none)" : 0
  349. ]
  350.  
  351. @BaseClass base(Appearflags, Targetname, RenderFields, Global, Angles) = Door
  352. [
  353.     killtarget(target_destination) : "KillTarget"
  354.     speed(integer) : "Speed" : 100
  355.     master(string) : "Master" 
  356.     movesnd(choices) : "Move Sound" : 0 = 
  357.     [
  358.         0: "No Sound"
  359.         1: "Servo (Sliding)"
  360.         2: "Pneumatic (Sliding)"
  361.         3: "Pneumatic (Rolling)"
  362.         4: "Vacuum"
  363.         5: "Power Hydraulic"
  364.         6: "Large Rollers"
  365.         7: "Track Door"
  366.         8: "Snappy Metal Door"
  367.         9: "Squeaky 1"
  368.         10: "Squeaky 2"
  369.     ]
  370.     stopsnd(choices) : "Stop Sound" : 0 = 
  371.     [
  372.         0: "No Sound"
  373.         1: "Clang with brake"
  374.         2: "Clang reverb"
  375.         3: "Ratchet Stop"
  376.         4: "Chunk"
  377.         5: "Light airbrake"
  378.         6: "Metal Slide Stop"
  379.         7: "Metal Lock Stop"
  380.         8: "Snappy Metal Stop"
  381.     ]
  382.     wait(integer) : "delay before close, -1 stay open " : 4
  383.     lip(integer) : "Lip"
  384.     dmg(integer) : "Damage inflicted when blocked" : 0
  385.     message(string) : "Message if triggered"
  386.     target(target_destination) : "Target"
  387.     delay(integer) : "Delay before fire" 
  388.     netname(string) : "Fire on Close"
  389.     health(integer) : "Health (shoot open)" : 0
  390.     spawnflags(flags) =
  391.     [
  392.         1 : "Starts Open" : 0
  393.         4 : "Don't link" : 0
  394.         8: "Passable" : 0
  395.             32: "Toggle" : 0
  396.         256:"Use Only" : 0
  397.         512: "Monsters Can't" : 0
  398.     ]
  399.     // NOTE: must be duplicated in BUTTON
  400.     locked_sound(choices) : "Locked Sound" : 0 = 
  401.     [
  402.         0: "None"
  403.         2: "Access Denied"
  404.         8: "Small zap"
  405.         10: "Buzz"
  406.         11: "Buzz Off"
  407.         12: "Latch Locked"
  408.     ]
  409.     unlocked_sound(choices) : "Unlocked Sound" : 0 = 
  410.     [
  411.         0: "None"
  412.         1: "Big zap & Warmup"
  413.         3: "Access Granted"
  414.         4: "Quick Combolock"
  415.         5: "Power Deadbolt 1"
  416.         6: "Power Deadbolt 2"
  417.         7: "Plunger"
  418.         8: "Small zap"
  419.         9: "Keycard Sound"
  420.         10: "Buzz"
  421.         13: "Latch Unlocked"
  422.     ]
  423.     locked_sentence(choices) : "Locked Sentence" : 0 = 
  424.     [
  425.         0: "None"
  426.         1: "Gen. Access Denied"
  427.         2: "Security Lockout"
  428.         3: "Blast Door"
  429.         4: "Fire Door"
  430.         5: "Chemical Door"
  431.         6: "Radiation Door"
  432.         7: "Gen. Containment"
  433.         8: "Maintenance Door"
  434.         9: "Broken Shut Door"
  435.     ]
  436.     unlocked_sentence(choices) : "Unlocked Sentence" : 0 = 
  437.     [
  438.         0: "None"
  439.         1: "Gen. Access Granted"
  440.         2: "Security Disengaged"
  441.         3: "Blast Door"
  442.         4: "Fire Door"
  443.         5: "Chemical Door"
  444.         6: "Radiation Door"
  445.         7: "Gen. Containment"
  446.         8: "Maintenance area"
  447.     ]    
  448.     _minlight(string) : "Minimum light level"
  449. ]
  450.  
  451. @BaseClass base(Targetname, Target, RenderFields, Global, Angles) = BaseTank
  452. [
  453.     spawnflags(flags) =
  454.     [
  455.         1 : "Active" : 0
  456.         16: "Only Direct" : 0
  457.         32: "Controllable" : 0
  458.     ]
  459.  
  460.     // Mainly for use with 1009 team settings (game_team_master)
  461.     master(string) : "(Team) Master" 
  462.  
  463.     yawrate(string) : "Yaw rate" : "30"
  464.     yawrange(string) : "Yaw range" : "180"
  465.     yawtolerance(string) : "Yaw tolerance" : "15"
  466.     pitchrate(string) : "Pitch rate" : "0"
  467.     pitchrange(string) : "Pitch range" : "0"
  468.     pitchtolerance(string) : "Pitch tolerance" : "5"
  469.     barrel(string) : "Barrel Length" : "0"
  470.     barrely(string) : "Barrel Horizontal" : "0"
  471.     barrelz(string) : "Barrel Vertical" : "0"
  472.     spritesmoke(string) : "Smoke Sprite" : ""
  473.     spriteflash(string) : "Flash Sprite" : ""
  474.     spritescale(string) : "Sprite scale" : "1"
  475.     rotatesound(sound) : "Rotate Sound" : ""
  476.     firerate(string) : "Rate of Fire" : "1"
  477.     bullet_damage(string) : "Damage Per Bullet" : "0"
  478.     persistence(string) : "Firing persistence" : "1"
  479.     firespread(choices) : "Bullet accuracy" : 0 =
  480.     [
  481.         0: "Perfect Shot"
  482.         1: "Small cone"
  483.         2: "Medium cone"
  484.         3: "Large cone"
  485.         4: "Extra-large cone"
  486.     ]
  487.     minRange(string) : "Minmum target range" : "0"
  488.     maxRange(string) : "Maximum target range" : "0"
  489.     _minlight(string) : "Minimum light level"
  490. ]
  491.  
  492. @BaseClass = PlatSounds 
  493. [
  494.     movesnd(choices) : "Move Sound" : 0 = 
  495.     [
  496.         0: "No Sound"
  497.         1: "big elev 1"
  498.         2: "big elev 2"
  499.         3: "tech elev 1"
  500.         4: "tech elev 2"
  501.         5: "tech elev 3"
  502.         6: "freight elev 1"
  503.         7: "freight elev 2"
  504.         8: "heavy elev"
  505.         9: "rack elev"
  506.         10: "rail elev"
  507.         11: "squeek elev"
  508.         12: "odd elev 1"
  509.         13: "odd elev 2"
  510.     ]
  511.     stopsnd(choices) : "Stop Sound" : 0 = 
  512.     [
  513.         0: "No Sound"
  514.         1: "big elev stop1"
  515.         2: "big elev stop2"
  516.         3: "freight elev stop"
  517.         4: "heavy elev stop"
  518.         5: "rack stop"
  519.         6: "rail stop"
  520.         7: "squeek stop"
  521.         8: "quick stop"
  522.     ]
  523.     volume(string) : "Sound Volume 0.0 - 1.0" : "0.85"
  524. ]
  525.  
  526. @BaseClass base(Targetname, RenderFields, Global, PlatSounds) = Trackchange
  527. [
  528.     height(integer) : "Travel altitude" : 0
  529.     spawnflags(flags) =
  530.     [
  531.         1: "Auto Activate train" : 0
  532.         2: "Relink track" : 0
  533.         8: "Start at Bottom" : 0
  534.         16: "Rotate Only" : 0
  535.         64: "X Axis" : 0
  536.         128: "Y Axis" : 0
  537.     ]
  538.     rotation(integer) : "Spin amount" : 0
  539.     train(target_destination) : "Train to switch"
  540.     toptrack(target_destination) : "Top track"
  541.     bottomtrack(target_destination) : "Bottom track"
  542.     speed(integer) : "Move/Rotate speed" : 0
  543. ]
  544.  
  545. @BaseClass base(Target, Targetname) = Trigger
  546. [
  547.     killtarget(target_destination) : "Kill target"
  548.     netname(target_destination) : "Target Path"
  549.     master(string) : "Master" 
  550.     sounds(choices) : "Sound style" : 0 =
  551.     [
  552.         0 : "No Sound"
  553.     ]
  554.     delay(string) : "Delay before trigger" : "0"
  555.     message(string) : "Message (set sound too!)"
  556.     spawnflags(flags) = 
  557.     [
  558.         1: "Monsters" : 0
  559.         2: "No Clients" : 0
  560.         4: "Pushables": 0
  561.     ]
  562. ]
  563.  
  564. //
  565. // Entities
  566. //
  567.  
  568. @PointClass iconsprite("sprites/VS/AIScriptedSequence.spr") base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) = aiscripted_sequence : "AI Scripted Sequence"
  569. [
  570.     m_iszEntity(string) : "Target Monster"
  571.     m_iszPlay(string) : "Action Animation" : ""
  572.     m_flRadius(integer) : "Search Radius" : 512
  573.     m_flRepeat(integer) : "Repeat Rate ms" : 0
  574.     m_fMoveTo(Choices) : "Move to Position" : 0 =
  575.     [
  576.         0 : "No"
  577.         1 : "Walk"
  578.         2 : "Run"
  579.         4 : "Instantaneous"
  580.         5 : "No - Turn to Face"
  581.     ]
  582.     m_iFinishSchedule(Choices) : "AI Schedule when done" : 0 =
  583.     [
  584.         0 : "Default AI"
  585.         1 : "Ambush"
  586.     ]
  587.     spawnflags(Flags) = 
  588.     [
  589.         4 : "Repeatable"        : 0
  590.         8 : "Leave Corpse"    : 0
  591.     ]
  592. ]
  593.  
  594. @PointClass iconsprite("sprites/VS/AmbientGeneric.spr") base(Targetname) = ambient_generic : "Universal Ambient"
  595. [
  596.     message(sound) : "WAV Name"
  597.     health(integer) : "Volume (10 = loudest)" : 10
  598.     preset(choices) :"Dynamic Presets" : 0 =
  599.     [
  600.         0: "None"
  601.         1: "Huge Machine"
  602.         2: "Big Machine"
  603.         3: "Machine"
  604.         4: "Slow Fade in"  
  605.         5: "Fade in"
  606.         6: "Quick Fade in"
  607.         7: "Slow Pulse"
  608.         8: "Pulse"
  609.         9: "Quick pulse"
  610.         10: "Slow Oscillator"
  611.         11: "Oscillator"
  612.         12: "Quick Oscillator"
  613.         13: "Grunge pitch"
  614.         14: "Very low pitch"
  615.         15: "Low pitch"
  616.         16: "High pitch"
  617.         17: "Very high pitch"
  618.         18: "Screaming pitch"
  619.         19: "Oscillate spinup/down"
  620.         20: "Pulse spinup/down"
  621.         21: "Random pitch"
  622.         22: "Random pitch fast"
  623.         23: "Incremental Spinup"
  624.         24: "Alien"
  625.         25: "Bizzare"
  626.         26: "Planet X"
  627.         27: "Haunted"
  628.     ]
  629.     volstart(integer) : "Start Volume" : 0
  630.     fadein(integer) : "Fade in time (0-100)" : 0
  631.     fadeout(integer) : "Fade out time (0-100)" : 0
  632.     pitch(integer) : "Pitch (> 100 = higher)" : 100
  633.     pitchstart(integer) : "Start Pitch" : 100
  634.     spinup(integer) : "Spin up time (0-100)" : 0
  635.     spindown(integer) : "Spin down time (0-100)" : 0
  636.     lfotype(integer) : "LFO type 0)off 1)sqr 2)tri 3)rnd" : 0
  637.     lforate(integer) : "LFO rate (0-1000)" : 0
  638.     lfomodpitch(integer) : "LFO mod pitch (0-100)" : 0
  639.     lfomodvol(integer) : "LFO mod vol (0-100)" : 0
  640.     cspinup(integer) : "Incremental spinup count" : 0
  641.     spawnflags(flags) =
  642.     [
  643.         1 : "Play Everywhere" : 0
  644.         2 : "Small Radius" : 0
  645.         4 : "Medium Radius" : 1
  646.         8 : "Large Radius" : 0
  647.         16 : "Start Silent":0
  648.         32 : "Is NOT Looped":0
  649.     ]
  650. ]
  651.  
  652. @SolidClass base(Target, ZHLT) = button_target : "Target Button"
  653. [
  654.     spawnflags(flags) =
  655.     [
  656.         1: "Use Activates" : 1
  657.         2: "Start On" : 0
  658.     ]
  659.     master(string) : "Master" 
  660.     renderfx(choices) :"Render FX" : 0 =
  661.     [
  662.         0: "Normal"
  663.         1: "Slow Pulse"
  664.         2: "Fast Pulse"
  665.         3: "Slow Wide Pulse"
  666.         4: "Fast Wide Pulse"
  667.         9: "Slow Strobe"
  668.         10: "Fast Strobe"
  669.         11: "Faster Strobe"
  670.         12: "Slow Flicker"
  671.         13: "Fast Flicker"
  672.         5: "Slow Fade Away"
  673.         6: "Fast Fade Away"
  674.         7: "Slow Become Solid"
  675.         8: "Fast Become Solid"
  676.         14: "Constant Glow"
  677.         15: "Distort"
  678.         16: "Hologram (Distort + fade)"
  679.     ]
  680.     rendermode(choices) : "Render Mode" : 0 =
  681.     [
  682.         0: "Normal"
  683.         1: "Color"
  684.         2: "Texture"
  685.         3: "Glow"
  686.         4: "Solid"
  687.         5: "Additive"
  688.     ]
  689.     renderamt(integer) : "FX Amount (1 - 255)"
  690.     rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
  691. ]
  692.  
  693.  
  694. //
  695. // cyclers
  696. //
  697.  
  698. @PointClass iconsprite("sprites/VS/Cycler.spr") base(Targetname, Angles) size(-16 -16 0, 16 16 72) = cycler : "Model Cycler" 
  699. [
  700.     model(studio) : "Model"
  701.     renderfx(choices) :"Render FX" : 0 =
  702.     [
  703.         0: "Normal"
  704.         1: "Slow Pulse"
  705.         2: "Fast Pulse"
  706.         3: "Slow Wide Pulse"
  707.         4: "Fast Wide Pulse"
  708.         9: "Slow Strobe"
  709.         10: "Fast Strobe"
  710.         11: "Faster Strobe"
  711.         12: "Slow Flicker"
  712.         13: "Fast Flicker"
  713.         5: "Slow Fade Away"
  714.         6: "Fast Fade Away"
  715.         7: "Slow Become Solid"
  716.         8: "Fast Become Solid"
  717.         14: "Constant Glow"
  718.         15: "Distort"
  719.         16: "Hologram (Distort + fade)"
  720.     ]
  721.     rendermode(choices) : "Render Mode" : 0 =
  722.     [
  723.         0: "Normal"
  724.         1: "Color"
  725.         2: "Texture"
  726.         3: "Glow"
  727.         4: "Solid"
  728.         5: "Additive"
  729.     ]
  730.     renderamt(integer) : "FX Amount (1 - 255)"
  731.     rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
  732. ]
  733.  
  734. @PointClass base(Targetname, Angles) sprite() = cycler_sprite : "Sprite Cycler" 
  735. [
  736.     model(sprite) : "Sprite"
  737.     framerate(integer) : "Frames per second" : 10
  738.     renderfx(choices) :"Render FX" : 0 =
  739.     [
  740.         0: "Normal"
  741.         1: "Slow Pulse"
  742.         2: "Fast Pulse"
  743.         3: "Slow Wide Pulse"
  744.         4: "Fast Wide Pulse"
  745.         9: "Slow Strobe"
  746.         10: "Fast Strobe"
  747.         11: "Faster Strobe"
  748.         12: "Slow Flicker"
  749.         13: "Fast Flicker"
  750.         5: "Slow Fade Away"
  751.         6: "Fast Fade Away"
  752.         7: "Slow Become Solid"
  753.         8: "Fast Become Solid"
  754.         14: "Constant Glow"
  755.         15: "Distort"
  756.         16: "Hologram (Distort + fade)"
  757.     ]
  758.     rendermode(choices) : "Render Mode" : 0 =
  759.     [
  760.         0: "Normal"
  761.         1: "Color"
  762.         2: "Texture"
  763.         3: "Glow"
  764.         4: "Solid"
  765.         5: "Additive"
  766.     ]
  767.     renderamt(integer) : "FX Amount (1 - 255)"
  768.     rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
  769. ]
  770.  
  771. @PointClass iconsprite("sprites/VS/CyclerWeapon.spr") base(Monster) size(-16 -16 -16, 16 16 16) = cycler_weapon : "Weapon Cycler" 
  772. [
  773.     model(studio) : "model"
  774. ]
  775.  
  776. //
  777. // Environmental effects
  778. //
  779.  
  780. @BaseClass = BeamStartEnd 
  781. [
  782.     LightningStart(target_destination) : "Start Entity" 
  783.     LightningEnd(target_destination) : "Ending Entity" 
  784. ]
  785. @PointClass iconsprite("sprites/VS/EnvBeam.spr") base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect"
  786. [
  787.     renderamt(integer) : "Brightness (1 - 255)" : 100
  788.     rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
  789.     Radius(integer) : "Radius" : 256
  790.     life(string) : "Life (seconds 0 = infinite)" : "1"
  791.     BoltWidth(integer) : "Width of beam (pixels*0.1 0-255)" : 20
  792.     NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0
  793.     texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr"
  794.     TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35
  795.     framerate(integer) : "Frames per 10 seconds" : 0
  796.     framestart(integer) : "Starting Frame" : 0
  797.     StrikeTime(string) : "Strike again time (secs)" : "1"
  798.     damage(string) : "Damage / second" : "0"
  799.     spawnflags(flags) = 
  800.     [
  801.         1 : "Start On" : 0
  802.         2 : "Toggle" : 0
  803.         4 : "Random Strike" : 0
  804.         8 : "Ring" : 0
  805.         16: "StartSparks" : 0
  806.         32: "EndSparks" : 0
  807.         64: "Decal End" : 0
  808.         128: "Shade Start" : 0
  809.         256: "Shade End" : 0
  810.     ]
  811. ]
  812.  
  813. @PointClass iconsprite("sprites/VS/EnvBeverage.spr") base(Targetname, Angles) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser"
  814. [
  815.     health(integer) : "Capacity" : 10
  816.     skin(choices) : "Beverage Type" : 0 = 
  817.     [
  818.         0 : "Coca-Cola"
  819.         1 : "Sprite"
  820.         2 : "Diet Coke"
  821.         3 : "Orange"
  822.         4 : "Surge"
  823.         5 : "Moxie"
  824.         6 : "Random"
  825.     ]
  826. ]
  827.  
  828. @PointClass iconsprite("sprites/VS/EnvBlood.spr") base(Targetname, Angles) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects" 
  829. [
  830.     color(choices) : "Blood Color" : 0 =
  831.     [
  832.         0 : "Red (Human)"
  833.         1 : "Yellow (Alien)"
  834.     ]
  835.     amount(string) : "Amount of blood (damage to simulate)" : "100"
  836.     spawnflags(flags) =
  837.     [
  838.         1: "Random Direction" : 0
  839.         2: "Blood Stream" : 0
  840.         4: "On Player" : 0
  841.         8: "Spray decals" : 0
  842.     ]
  843. ]
  844.  
  845. @SolidClass base(Targetname) = env_bubbles : "Bubble Volume" 
  846. [
  847.     density(integer) : "Bubble density" : 2
  848.     frequency(integer) : "Bubble frequency" : 2
  849.     current(integer) : "Speed of Current" : 0
  850.     spawnflags(Flags) = 
  851.     [
  852.         1 : "Start Off"     : 0
  853.     ]
  854. ]
  855.  
  856. @PointClass iconsprite("sprites/VS/EnvExplosion.spr") base(Targetname) size(-16 -16 -16, 16 16 16) = env_explosion : "Explosion" 
  857. [
  858.     iMagnitude(Integer) : "Magnitude" : 100
  859.     spawnflags(flags) =
  860.     [
  861.         1: "No Damage" : 0
  862.         2: "Repeatable" : 0
  863.         4: "No Fireball" : 0
  864.         8: "No Smoke" : 0
  865.         16: "No Decal" : 0
  866.         32: "No Sparks" : 0
  867.     ]
  868. ]
  869.  
  870. @PointClass iconsprite("sprites/VS/EnvGlobal.spr") base(Targetname) color(255 255 128) = env_global : "Global State"
  871. [
  872.     globalstate(string) : "Global State to Set"
  873.     triggermode(choices) : "Trigger Mode" : 0 =
  874.     [
  875.         0 : "Off"
  876.         1 : "On"
  877.         2 : "Dead"
  878.         3 : "Toggle"
  879.     ]
  880.     initialstate(choices) : "Initial State" : 0 =
  881.     [
  882.         0 : "Off"
  883.         1 : "On"
  884.         2 : "Dead"
  885.     ]
  886.     spawnflags(flags) =
  887.     [
  888.         1 : "Set Initial State" : 0
  889.     ]
  890. ]
  891.  
  892. @PointClass sprite() base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_glow : "Light Glow/Haze" 
  893. [
  894.     model(sprite) : "Sprite Name" : "sprites/glow01.spr"
  895.     scale(integer) : "Scale" : 1
  896. ]
  897.  
  898. @PointClass iconsprite("sprites/VS/EnvFade.spr") base(Targetname) = env_fade : "Screen Fade" 
  899. [
  900.     spawnflags(flags) =
  901.     [
  902.         1: "Fade From" : 0
  903.         2: "Modulate" : 0
  904.         4: "Activator Only" : 0
  905.     ]
  906.     duration(string) : "Duration (seconds)" : "2"
  907.     holdtime(string) : "Hold Fade (seconds)" : "0"
  908.     renderamt(integer) : "Fade Alpha" : 255
  909.     rendercolor(color255) : "Fade Color (R G B)" : "0 0 0"
  910. ]
  911.  
  912. @PointClass iconsprite("sprites/VS/EnvFunnel.spr") base(Targetname) size(-16 -16 -16, 16 16 16) = env_funnel : "Large Portal Funnel" 
  913. [
  914.     spawnflags(flags) =
  915.     [
  916.         1: "Reverse" : 0
  917.     ]
  918. ]
  919.  
  920. @PointClass iconsprite("sprites/VS/EnvLaser.spr") base(Targetname, RenderFxChoices, Angles) size(-16 -16 -16, 16 16 16) = env_laser : "Laser Beam Effect"
  921. [
  922.     LaserTarget(target_destination) : "Target of Laser" 
  923.     renderamt(integer) : "Brightness (1 - 255)" : 100
  924.     rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
  925.     width(integer) : "Width of beam (pixels*0.1 0-255)" : 20
  926.     NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0
  927.     texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr"
  928.     EndSprite(sprite) : "End Sprite" : ""
  929.     TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35
  930.     framestart(integer) : "Starting Frame" : 0
  931.     damage(string) : "Damage / second" : "100"
  932.     spawnflags(flags) = 
  933.     [
  934.         1 : "Start On" : 0
  935.         16: "StartSparks" : 0
  936.         32: "EndSparks" : 0
  937.         64: "Decal End" : 0
  938.     ]
  939. ]
  940.  
  941. @PointClass iconsprite("sprites/VS/EnvMessage.spr") base(Targetname, Target) = env_message : "HUD Text Message" 
  942. [
  943.     message(string) : "Message Name"
  944.     spawnflags(flags) =
  945.     [
  946.         1: "Play Once" : 0
  947.         2: "All Clients" : 0
  948.     ]
  949.     messagesound(sound) : "Sound Effect"
  950.     messagevolume(string) : "Volume 0-10" : "10"
  951.     messageattenuation(Choices) : "Sound Radius" : 0 =
  952.     [
  953.         0 : "Small Radius"
  954.         1 : "Medium Radius"
  955.         2 : "Large  Radius"
  956.         3 : "Play Everywhere"
  957.     ]
  958. ]
  959.  
  960. @PointClass iconsprite("sprites/VS/EnvRender.spr") base(Targetname, Target, RenderFields) size(-16 -16 -16, 16 16 16) color(100 100 0) = env_render : "Render Controls"
  961. [
  962.     spawnflags(flags) =
  963.     [
  964.         1: "No Renderfx" : 0
  965.         2: "No Renderamt" : 0
  966.         4: "No Rendermode" : 0
  967.         8: "No Rendercolor" : 0
  968.     ]
  969. ]
  970.  
  971. @PointClass iconsprite("sprites/VS/EnvShake.spr") base(Targetname) = env_shake : "Screen Shake" 
  972. [
  973.     spawnflags(flags) =
  974.     [
  975.         1: "GlobalShake" : 0
  976.     ]
  977.     amplitude(string) : "Amplitude 0-16" : "4"
  978.     radius(string) : "Effect radius" : "500"
  979.     duration(string) : "Duration (seconds)" : "1"
  980.     frequency(string) : "0.1 = jerk, 255.0 = rumble" : "2.5"
  981. ]
  982.  
  983. @PointClass iconsprite("sprites/VS/EnvShooter.spr")  base(gibshooterbase, RenderFields) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter"
  984. [
  985.     shootmodel(studio) : "Model or Sprite name" : ""
  986.     shootsounds(choices) :"Material Sound" : -1 =
  987.     [
  988.         -1: "None"
  989.         0: "Glass"
  990.         1: "Wood"
  991.         2: "Metal"
  992.         3: "Flesh"
  993.         4: "Concrete"  
  994.     ]
  995.     scale(string) : "Gib Sprite Scale" : ""
  996.     skin(integer) : "Gib Skin" : 0
  997. ]
  998.  
  999. @PointClass iconsprite("sprites/VS/EnvSound.spr")= env_sound : "DSP Sound" 
  1000. [
  1001.     radius(integer) : "Radius" : 128
  1002.     roomtype(Choices) : "Room Type" : 0 =
  1003.     [
  1004.         0 : "Normal (off)"
  1005.         1 : "Generic"
  1006.         
  1007.         2 : "Metal Small"
  1008.         3 : "Metal Medium"
  1009.         4 : "Metal Large"
  1010.     
  1011.         5 : "Tunnel Small"
  1012.         6 : "Tunnel Medium"
  1013.         7 : "Tunnel Large"
  1014.     
  1015.         8 : "Chamber Small"
  1016.         9 : "Chamber Medium"
  1017.         10: "Chamber Large"
  1018.  
  1019.         11: "Bright Small"
  1020.         12: "Bright Medium"
  1021.         13: "Bright Large"
  1022.  
  1023.         14: "Water 1"
  1024.         15: "Water 2"
  1025.         16: "Water 3"
  1026.  
  1027.         17: "Concrete Small"
  1028.         18: "Concrete Medium"
  1029.         19: "Concrete Large"
  1030.  
  1031.         20: "Big 1"
  1032.         21: "Big 2"
  1033.         22: "Big 3"
  1034.  
  1035.         23: "Cavern Small"
  1036.         24: "Cavern Medium"
  1037.         25: "Cavern Large"
  1038.  
  1039.         26: "Weirdo 1"
  1040.         27: "Weirdo 2"
  1041.         28: "Weirdo 3"
  1042.     ]
  1043. ]
  1044.  
  1045. @PointClass iconsprite("sprites/VS/EnvSpark.spr") base(Targetname, Angles) size(-16 -16 -16, 16 16 16) = env_spark : "Spark" 
  1046. [
  1047.     MaxDelay(string) : "Max Delay" : "0"
  1048.     spawnflags(flags) =
  1049.     [
  1050.         32: "Toggle" : 0
  1051.         64: "Start ON" : 0
  1052.     ]
  1053. ]
  1054.  
  1055. @PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) = env_sprite : "Sprite Effect" 
  1056. [
  1057.     framerate(string) : "Framerate" : "10.0"
  1058.     model(sprite) : "Sprite Name" : "sprites/glow01.spr"
  1059.     scale(string) : "Scale" : ""
  1060.     spawnflags(flags) =
  1061.     [
  1062.         1: "Start on" : 0
  1063.         2: "Play Once" : 0
  1064.     ]
  1065. ]
  1066.  
  1067. @SolidClass base(Breakable, RenderFields, ZHLT, TexLightType) = func_breakable : "Breakable Object" 
  1068. [
  1069.     spawnflags(flags) =
  1070.     [
  1071.         1 : "Only Trigger" : 0
  1072.         2 : "Touch"       : 0
  1073.         4 : "Pressure"     : 0
  1074.         256: "Instant Crowbar" : 1
  1075.     ]
  1076.     _minlight(string) : "Minimum light level"
  1077. ]
  1078.  
  1079. @SolidClass base(Global,Targetname, Target, RenderFields, Angles, ZHLT, TexLightType) = func_button : "Button" 
  1080. [
  1081.     speed(integer) : "Speed" : 5
  1082.     health(integer) : "Health (shootable if > 0)"
  1083.     lip(integer) : "Lip"
  1084.     master(string) : "Master" 
  1085.     sounds(choices) : "Sounds" : 0 = 
  1086.     [
  1087.         0: "None"
  1088.         1: "Big zap & Warmup"
  1089.         2: "Access Denied"
  1090.         3: "Access Granted"
  1091.         4: "Quick Combolock"
  1092.         5: "Power Deadbolt 1"
  1093.         6: "Power Deadbolt 2"
  1094.         7: "Plunger"
  1095.         8: "Small zap"
  1096.         9: "Keycard Sound"
  1097.         10: "Buzz"
  1098.         11: "Buzz Off"
  1099.         14: "Lightswitch"
  1100.     ]
  1101.     wait(integer) : "delay before reset (-1 stay)" : 3
  1102.     delay(string) : "Delay before trigger" : "0"
  1103.     spawnflags(flags) =
  1104.     [
  1105.         1: "Don't move" : 0
  1106.         32: "Toggle" : 0
  1107.         64: "Sparks" : 0
  1108.         256:"Touch Activates": 0
  1109.     ]
  1110.     locked_sound(choices) : "Locked Sound" : 0 = 
  1111.     [
  1112.         0: "None"
  1113.         2: "Access Denied"
  1114.         8: "Small zap"
  1115.         10: "Buzz"
  1116.         11: "Buzz Off"
  1117.         12: "Latch Locked"
  1118.     ]
  1119.     unlocked_sound(choices) : "Unlocked Sound" : 0 = 
  1120.     [
  1121.         0: "None"
  1122.         1: "Big zap & Warmup"
  1123.         3: "Access Granted"
  1124.         4: "Quick Combolock"
  1125.         5: "Power Deadbolt 1"
  1126.         6: "Power Deadbolt 2"
  1127.         7: "Plunger"
  1128.         8: "Small zap"
  1129.         9: "Keycard Sound"
  1130.         10: "Buzz"
  1131.         13: "Latch Unlocked"
  1132.         14: "Lightswitch"
  1133.     ]
  1134.     locked_sentence(choices) : "Locked Sentence" : 0 = 
  1135.     [
  1136.         0: "None"
  1137.         1: "Gen. Access Denied"
  1138.         2: "Security Lockout"
  1139.         3: "Blast Door"
  1140.         4: "Fire Door"
  1141.         5: "Chemical Door"
  1142.         6: "Radiation Door"
  1143.         7: "Gen. Containment"
  1144.         8: "Maintenance Door"
  1145.         9: "Broken Shut Door"
  1146.     ]
  1147.     unlocked_sentence(choices) : "Unlocked Sentence" : 0 = 
  1148.     [
  1149.         0: "None"
  1150.         1: "Gen. Access Granted"
  1151.         2: "Security Disengaged"
  1152.         3: "Blast Door"
  1153.         4: "Fire Door"
  1154.         5: "Chemical Door"
  1155.         6: "Radiation Door"
  1156.         7: "Gen. Containment"
  1157.         8: "Maintenance area"
  1158.     ]
  1159.     _minlight(string) : "Minimum light level"
  1160. ]
  1161.  
  1162. @SolidClass base(Global,RenderFields, Targetname, Angles, ZHLT, TexLightType) = func_conveyor : "Conveyor Belt" 
  1163. [
  1164.     spawnflags(flags) =
  1165.     [
  1166.         1 : "No Push" : 0
  1167.         2 : "Not Solid" : 0
  1168.     ]
  1169.     speed(string) : "Conveyor Speed" : "100"
  1170.     _minlight(string) : "Minimum light level"
  1171. ]
  1172.  
  1173. @SolidClass base(Door, ZHLT, TexLightType) = func_door : "Basic door" []
  1174.  
  1175. @SolidClass base(Door, ZHLT, TexLightType) = func_door_rotating : "Rotating door" 
  1176. [
  1177.     spawnflags(flags) =
  1178.     [
  1179.         2 : "Reverse Dir" : 0
  1180.         16: "One-way" : 0
  1181.         64: "X Axis" : 0
  1182.         128: "Y Axis" : 0
  1183.     ]
  1184.     distance(integer) : "Distance (deg)" : 90
  1185. ]
  1186.  
  1187. @SolidClass base(Appearflags, RenderFields, ZHLT, TexLightType) = func_friction : "Surface with a change in friction" 
  1188. [
  1189.     modifier(integer) : "Percentage of standard (0 - 100)" : 15
  1190. ]
  1191.  
  1192. @SolidClass base(Targetname, RenderFields, Global, ZHLT, TexLightType) = func_guntarget : "Moving platform" 
  1193. [
  1194.     speed(integer) : "Speed (units per second)" : 100
  1195.     target(target_source) : "First stop target"
  1196.     message(target_source) : "Fire on damage"
  1197.     health(integer) : "Damage to Take" : 0
  1198.     _minlight(string) : "Minimum light level"
  1199. ]
  1200.  
  1201. @SolidClass base(Targetname, RenderFields, ZHLT, TexLightType) = func_illusionary : "Fake Wall/Light" 
  1202. [
  1203.  
  1204.     skin(choices) : "Contents" : -1 =
  1205.     [
  1206.         -1: "Empty"
  1207.         -7: "Volumetric Light"
  1208.     ]
  1209.     _minlight(string) : "Minimum light level"
  1210. ]
  1211.  
  1212. @SolidClass base(Targetname) = func_ladder : "Ladder" []
  1213.  
  1214. @SolidClass base(Targetname) = func_mortar_field : "Mortar Field" 
  1215. [
  1216.     m_flSpread(integer) : "Spread Radius" : 64
  1217.     m_iCount(integer) : "Repeat Count" : 1
  1218.     m_fControl(Choices) : "Targeting" : 0 =
  1219.     [
  1220.         0 : "Random"
  1221.         1 : "Activator"
  1222.         2 : "Table"
  1223.     ]
  1224.     m_iszXController(target_destination) : "X Controller"
  1225.     m_iszYController(target_destination) : "Y Controller"
  1226. ]
  1227.  
  1228. @SolidClass base(Global,Appearflags, Targetname, RenderFields, Angles, ZHLT, TexLightType) = func_pendulum : "Swings back and forth" 
  1229. [
  1230.     speed(integer) : "Speed" : 100
  1231.     distance(integer) : "Distance (deg)" : 90
  1232.     damp(integer) : "Damping (0-1000)" : 0
  1233.     dmg(integer) : "Damage inflicted when blocked" : 0
  1234.     spawnflags(flags) =
  1235.     [
  1236.         1: "Start ON" : 0
  1237.         8: "Passable" : 0
  1238.         16: "Auto-return" : 0
  1239.         64: "X Axis" : 0
  1240.         128: "Y Axis" : 0
  1241.     ]
  1242.     _minlight(integer) : "_minlight"
  1243. ]
  1244.  
  1245. @SolidClass base(Targetname,Global,RenderFields, PlatSounds, ZHLT, TexLightType) = func_plat : "Elevator" 
  1246. [
  1247.     spawnflags(Flags) =
  1248.     [
  1249.         1: "Toggle" : 0
  1250.     ]
  1251.     height(integer) : "Travel altitude (can be negative)" : 0
  1252.     speed(integer) : "Speed" : 50
  1253.     _minlight(string) : "Minimum light level"
  1254. ]    
  1255.  
  1256. @SolidClass base(Targetname, Global, RenderFields, PlatSounds, Angles, ZHLT, TexLightType) = func_platrot : "Moving Rotating platform" 
  1257. [
  1258.     spawnflags(Flags) =
  1259.     [
  1260.         1: "Toggle" : 1
  1261.         64: "X Axis" : 0
  1262.         128: "Y Axis" : 0
  1263.     ]
  1264.     speed(integer) : "Speed of rotation" : 50
  1265.     height(integer) : "Travel altitude (can be negative)" : 0
  1266.     rotation(integer) : "Spin amount" : 0
  1267.     _minlight(string) : "Minimum light level"
  1268. ]
  1269.  
  1270. @SolidClass base(Breakable, RenderFields, ZHLT, TexLightType) = func_pushable : "Pushable object"
  1271. [
  1272.     size(choices) : "Hull Size" : 0 =
  1273.     [
  1274.         0: "Point size"
  1275.         1: "Player size"
  1276.         2: "Big Size"
  1277.         3: "Player duck"
  1278.     ]
  1279.     spawnflags(flags) =
  1280.     [
  1281.         128: "Breakable" : 0
  1282.     ]
  1283.     friction(integer) : "Friction (0-400)" : 50
  1284.     buoyancy(integer) : "Buoyancy" : 20
  1285.     _minlight(string) : "Minimum light level"
  1286. ]
  1287.  
  1288. @SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT, TexLightType) = func_rot_button : "RotatingButton" 
  1289. [
  1290.     target(target_destination) : "Targetted object"
  1291.     // changetarget will change the button's target's TARGET field to the button's changetarget.
  1292.     changetarget(target_destination) : "ChangeTarget Name"
  1293.     master(string) : "Master" 
  1294.     speed(integer) : "Speed" : 50
  1295.     health(integer) : "Health (shootable if > 0)"
  1296.     sounds(choices) : "Sounds" : 21 = 
  1297.     [
  1298.         21: "Squeaky"
  1299.         22: "Squeaky Pneumatic"
  1300.         23: "Ratchet Groan"
  1301.         24: "Clean Ratchet"
  1302.         25: "Gas Clunk"
  1303.     ]
  1304.     wait(choices) : "Delay before reset" : 3 =
  1305.     [
  1306.         -1: "Stays pressed"
  1307.     ]
  1308.     delay(string) : "Delay before trigger" : "0"
  1309.     distance(integer) : "Distance (deg)" : 90
  1310.     spawnflags(flags) =
  1311.     [
  1312.         1 : "Not solid" : 0
  1313.         2 : "Reverse Dir" : 0
  1314.         32: "Toggle" : 0
  1315.         64: "X Axis" : 0
  1316.         128: "Y Axis" : 0
  1317.         256:"Touch Activates": 0
  1318.     ]
  1319.     _minlight(integer) : "_minlight"
  1320. ]
  1321.  
  1322. @SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT, TexLightType) = func_rotating : "Rotating Object"
  1323. [
  1324.     speed(integer)    : "Rotation Speed" : 0
  1325.     volume(integer) : "Volume (10 = loudest)" : 10
  1326.     fanfriction(integer) : "Friction (0 - 100%)" : 20
  1327.     sounds(choices) : "Fan Sounds" : 0 =
  1328.     [
  1329.         0 : "No Sound" 
  1330.         1 : "Fast Whine"
  1331.         2 : "Slow Rush"
  1332.         3 : "Medium Rickety"
  1333.         4 : "Fast Beating"
  1334.         5 : "Slow Smooth"
  1335.     ]
  1336.     message(sound) : "WAV Name"
  1337.     spawnflags(flags) =
  1338.     [
  1339.         1 : "Start ON"         : 0
  1340.         2 : "Reverse Direction" : 0
  1341.         4 : "X Axis"         : 0
  1342.         8 : "Y Axis"         : 0
  1343.         16: "Acc/Dcc"        : 0
  1344.         32: "Fan Pain"        : 0
  1345.         64: "Not Solid"        : 0
  1346.         128: "Small Radius" : 0
  1347.         256: "Medium Radius" : 0
  1348.         512: "Large Radius" : 1    
  1349.     ]
  1350.     _minlight(integer) : "_minlight"
  1351.     spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0"
  1352.     dmg(integer) : "Damage inflicted when blocked" : 0
  1353. ]
  1354.  
  1355. @SolidClass base(BaseTank, ZHLT, TexLightType) = func_tank : "Brush Gun Turret" 
  1356. [
  1357.     bullet(choices) : "Bullets" : 0 = 
  1358.     [
  1359.         0: "None"
  1360.         1: "9mm"
  1361.         2: "MP5"
  1362.         3: "12mm"
  1363.     ]
  1364. ]
  1365.  
  1366. @SolidClass = func_tankcontrols : "Tank controls"
  1367. [
  1368.     target(target_destination) : "Tank entity name"
  1369. ]
  1370.  
  1371. @SolidClass base(BaseTank, ZHLT, TexLightType) = func_tanklaser : "Brush Laser Turret" 
  1372. [
  1373.     laserentity(target_source) : "env_laser Entity"
  1374. ]
  1375.  
  1376. @SolidClass base(BaseTank, ZHLT, TexLightType) = func_tankrocket : "Brush Rocket Turret" []
  1377.  
  1378.  
  1379. @SolidClass base(BaseTank, ZHLT, TexLightType) = func_tankmortar : "Brush Mortar Turret" 
  1380. [
  1381.     iMagnitude(Integer) : "Explosion Magnitude" : 100
  1382. ]
  1383.  
  1384. @SolidClass base(Trackchange, ZHLT, TexLightType) = func_trackautochange : "Automatic track changing platform"
  1385. [
  1386.     _minlight(string) : "Minimum light level"
  1387. ]
  1388.  
  1389. @SolidClass base(Trackchange, ZHLT, TexLightType) = func_trackchange : "Train track changing platform"
  1390. [
  1391.     _minlight(string) : "Minimum light level"
  1392. ]
  1393.  
  1394. @SolidClass base(Targetname, Global, RenderFields, ZHLT, TexLightType) = func_tracktrain : "Track Train" 
  1395. [
  1396.     spawnflags(flags) =
  1397.     [
  1398.         1 : "No Pitch (X-rot)" : 0
  1399.         2 : "No User Control" : 0
  1400.         8 : "Passable" : 0
  1401.     ]
  1402.     target(target_destination) : "First stop target"
  1403.     sounds(choices) : "Sound" : 0 =
  1404.     [
  1405.         0: "None"
  1406.         1: "Rail 1"
  1407.         2: "Rail 2"
  1408.         3: "Rail 3"
  1409.         4: "Rail 4"
  1410.         5: "Rail 6"
  1411.         6: "Rail 7"
  1412.     ]
  1413.     wheels(integer) : "Distance between the wheels" : 50
  1414.     height(integer) : "Height above track" : 4
  1415.     startspeed(integer) : "Initial speed" : 0
  1416.     speed(integer) : "Speed (units per second)" : 64
  1417.     dmg(integer) : "Damage on crush" : 0    
  1418.     volume(integer) : "Volume (10 = loudest)" : 10
  1419.     bank(string) : "Bank angle on turns" : "0"
  1420.     _minlight(string) : "Minimum light level"
  1421. ]
  1422.  
  1423. @SolidClass = func_traincontrols : "Train Controls"
  1424. [
  1425.     target(target_destination) : "Train Name"
  1426. ]
  1427.  
  1428. @SolidClass base(Targetname, Global, RenderFields, ZHLT, TexLightType) = func_train : "Moving platform" 
  1429. [
  1430.     target(target_source) : "First stop target"
  1431.     movesnd(choices) : "Move Sound" : 0 = 
  1432.     [
  1433.         0: "No Sound"
  1434.         1: "big elev 1"
  1435.         2: "big elev 2"
  1436.         3: "tech elev 1"
  1437.         4: "tech elev 2"
  1438.         5: "tech elev 3"
  1439.         6: "freight elev 1"
  1440.         7: "freight elev 2"
  1441.         8: "heavy elev"
  1442.         9: "rack elev"
  1443.         10: "rail elev"
  1444.         11: "squeek elev"
  1445.         12: "odd elev 1"
  1446.         13: "odd elev 2"
  1447.     ]
  1448.     stopsnd(choices) : "Stop Sound" : 0 = 
  1449.     [
  1450.         0: "No Sound"
  1451.         1: "big elev stop1"
  1452.         2: "big elev stop2"
  1453.         3: "freight elev stop"
  1454.         4: "heavy elev stop"
  1455.         5: "rack stop"
  1456.         6: "rail stop"
  1457.         7: "squeek stop"
  1458.         8: "quick stop"
  1459.     ]
  1460.     speed(integer) : "Speed (units per second)" : 64
  1461.     avelocity(string) : "Angular Velocity (y z x)"
  1462.     dmg(integer) : "Damage on crush" : 0
  1463.     skin(integer) : "Contents" : 0
  1464.     volume(string) : "Sound Volume 0.0 - 1.0" : "0.85"
  1465.     spawnflags(flags) =
  1466.     [
  1467.         8 : "Not solid" : 0
  1468.     ]
  1469.     _minlight(string) : "Minimum light level"
  1470. ]
  1471.  
  1472. @SolidClass base(Targetname, Appearflags, RenderFields, Global, ZHLT, TexLightType) = func_wall : "Wall" 
  1473. [
  1474.     _minlight(string) : "Minimum light level"
  1475. ]
  1476.  
  1477. @SolidClass base(func_wall) = func_wall_toggle : "Toggleable geometry" 
  1478. [
  1479.     spawnflags(flags) =
  1480.     [
  1481.         1 : "Starts Invisible" : 0
  1482.     ]
  1483. ]
  1484.  
  1485. @SolidClass base(Door, ZHLT, TexLightType) = func_water : "Liquid" 
  1486. [
  1487.     spawnflags(flags) =
  1488.     [
  1489.         1 : "Starts Open" : 0
  1490.         256:"Use Only" : 0
  1491.     ]
  1492.     skin(choices) : "Contents" : -3 =
  1493.     [
  1494.         -3: "Water"
  1495.         -4: "Slime"
  1496.         -5: "Lava"
  1497.     ]
  1498.     WaveHeight(string) : "Wave Height" : "0"
  1499. ]
  1500.  
  1501. //
  1502. // game entities (requires Half-Life 1.0.0.9)
  1503. //
  1504.  
  1505. @PointClass iconsprite("sprites/VS/GameCounter.spr")  base(Targetname, Targetx) = game_counter : "Fires when it hits limit"
  1506. [
  1507.     spawnflags(flags) =
  1508.     [
  1509.         1: "Remove On fire" : 0
  1510.         2: "Reset On fire" : 1
  1511.     ]
  1512.     master(string) : "Master"
  1513.     frags(integer) : "Initial Value" : 0
  1514.     health(integer) : "Limit Value" : 10
  1515. ]
  1516.  
  1517. @PointClass iconsprite("sprites/VS/GameCounterSet.spr") base(Targetname, Target) = game_counter_set : "Sets a game_counter"
  1518. [
  1519.     spawnflags(flags) =
  1520.     [
  1521.         1: "Remove On fire" : 0
  1522.     ]
  1523.     master(string) : "Master"
  1524.     frags(integer) : "New Value" : 10
  1525. ]
  1526.  
  1527. @PointClass iconsprite("sprites/VS/GameEnd.spr") base(Targetname) = game_end : "End this multiplayer game" 
  1528. [
  1529.     master(string) : "Master" 
  1530. ]
  1531.  
  1532. @PointClass iconsprite("sprites/VS/GamePlayerEquip.spr") base(Targetname) = game_player_equip : "Initial player equipment"
  1533. [
  1534.     spawnflags(flags) =
  1535.     [
  1536.         1: "Use Only" : 0
  1537.     ]
  1538.     master(string) : "Team Master"
  1539. ]
  1540.  
  1541. @PointClass iconsprite("sprites/VS/GamePlayerHurt.spr") base(Targetname) = game_player_hurt : "Hurts player who fires"
  1542. [
  1543.     dmg(string) : "Damage To Apply" : "999"
  1544.     spawnflags(flags) =
  1545.     [
  1546.         1: "Remove On fire" : 0
  1547.     ]
  1548.     master(string) : "Master" 
  1549. ]
  1550.  
  1551. @PointClass iconsprite("sprites/VS/GamePlayerTeam.spr") base(Targetname) = game_player_team : "Allows player to change teams"
  1552. [
  1553.     spawnflags(flags) =
  1554.     [
  1555.         1 : "Remove On fire" : 0
  1556.         2 : "Kill Player" : 0
  1557.         4 : "Gib Player" : 0
  1558.     ]
  1559.     target(string) : "game_team_master to use" 
  1560.     master(string) : "Master"
  1561. ]
  1562.  
  1563. @PointClass iconsprite("sprites/VS/GameScore.spr") base(Targetname) = game_score : "Award/Deduct Points" 
  1564. [
  1565.     spawnflags(flags) =
  1566.     [
  1567.         1: "Allow Negative" : 0
  1568.         2: "Team Points" : 0
  1569.     ]
  1570.  
  1571.     points(integer) : "Points to add (+/-)" : 1
  1572.     master(string) : "Master" 
  1573. ]
  1574.  
  1575. @PointClass iconsprite("sprites/VS/GameTeamMaster.spr") base(Targetname, Targetx) = game_team_master : "Team based master/relay"
  1576. [
  1577.     spawnflags(flags) =
  1578.     [
  1579.         1: "Remove On fire" : 0
  1580.     ]
  1581.     triggerstate(choices) : "Trigger State" : 0 = 
  1582.     [
  1583.         0: "Off"
  1584.         1: "On"
  1585.         2: "Toggle"
  1586.     ]
  1587.     teamindex(integer) : "Team Index (-1 = no team)" : -1
  1588.     master(string) : "Master" 
  1589. ]
  1590.  
  1591. @PointClass iconsprite("sprites/VS/GameTeamSet.spr") base(Targetname, Targetx) = game_team_set : "Sets team of team_master"
  1592. [
  1593.     spawnflags(flags) =
  1594.     [
  1595.         1: "Remove On fire" : 0
  1596.     ]
  1597.     master(string) : "Master" 
  1598. ]
  1599.  
  1600. @PointClass iconsprite("sprites/VS/GameText.spr") base(Targetname, Target) = game_text : "HUD Text Message" 
  1601. [
  1602.     spawnflags(flags) =
  1603.     [
  1604.         1: "All Players" : 0
  1605.     ]
  1606.  
  1607.     message(string) : "Message Text"
  1608.     x(string) : "X (0 - 1.0 = left to right) (-1 centers)" : "-1"
  1609.     y(string) : "Y (0 - 1.0 = top to bottom) (-1 centers)" : "-1"
  1610.     effect(Choices) : "Text Effect" : 0 =
  1611.     [
  1612.         0 : "Fade In/Out"
  1613.         1 : "Credits"
  1614.         2 : "Scan Out"
  1615.     ]
  1616.     color(color255) : "Color1" : "100 100 100"
  1617.     color2(color255) : "Color2" : "240 110 0"
  1618.     fadein(string) : "Fade in Time (or character scan time)" : "1.5"
  1619.     fadeout(string) : "Fade Out Time" : "0.5"
  1620.     holdtime(string) : "Hold Time" : "1.2"
  1621.     fxtime(string) : "Scan time (scan effect only)" : "0.25"
  1622.     channel(choices) : "Text Channel" : 1 =
  1623.     [
  1624.         1 : "Channel 1"
  1625.         2 : "Channel 2"
  1626.         3 : "Channel 3" 
  1627.         4 : "Channel 4"
  1628.     ]
  1629.     master(string) : "Master" 
  1630. ]
  1631.  
  1632. @SolidClass base(Targetname) = game_zone_player : "Player Zone brush"
  1633. [
  1634.     intarget(target_destination) : "Target for IN players"
  1635.     outtarget(target_destination) : "Target for OUT players"
  1636.     incount(target_destination) : "Counter for IN players"
  1637.     outcount(target_destination) : "Counter for OUT players"
  1638.     master(string) : "Master" 
  1639. ]
  1640.  
  1641. @PointClass iconsprite("sprites/VS/Gibshooter.spr") base(gibshooterbase) = gibshooter : "Gib Shooter" []
  1642.  
  1643. //
  1644. // info entities
  1645. //
  1646.  
  1647. @PointClass decal() base(Targetname, Appearflags) = infodecal : "Decal"
  1648. [
  1649.     texture(decal)
  1650. ]
  1651.  
  1652. @PointClass  iconsprite("sprites/VS/InfoNull.spr")base(Targetname) = info_null : "info_null (spotlight target)" []
  1653.  
  1654.  
  1655. @PointClass iconsprite("sprites/VS/InfoTarget.spr") base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : "Beam Target" []
  1656. @PointClass iconsprite("sprites/VS/InfoTeleportDestination.spr") size(-8 -8 0, 8 8 16) base(PlayerClass, Targetname) = info_teleport_destination : "Teleport destination" []
  1657.  
  1658. //
  1659. // items
  1660. //
  1661.  
  1662. @PointClass iconsprite("sprites/VS/ItemAntidote.spr") size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_antidote : "Poison antidote" []
  1663. @PointClass iconsprite("sprites/VS/ItemSecurity.spr") size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_security : "Security card" []
  1664.  
  1665. //
  1666. // lights
  1667. //
  1668.  
  1669. @PointClass iconsprite("sprites/VS/light.spr") base(Target, Targetname, Light, ZHLT_point) = light : "Invisible lightsource"
  1670. [
  1671.     spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
  1672. ]
  1673.  
  1674. @PointClass iconsprite("sprites/VS/LightSpot.spr") base(Targetname, Target, Angles, ZHLT_point) = light_spot : "Spotlight" 
  1675. [
  1676.     _cone(integer) : "Inner (bright) angle" : 30
  1677.     _cone2(integer) : "Outer (fading) angle" : 45
  1678.     pitch(integer) : "Pitch" : -90
  1679.     _light(color255) : "Brightness" : "255 255 128 200"
  1680.     _sky(Choices) : "Is Sky" : 0 = 
  1681.     [ 
  1682.         0 : "No"
  1683.         1 : "Yes"
  1684.     ]
  1685.     spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
  1686.       style(Choices) : "Appearance" : 0 =
  1687.     [
  1688.         0 : "Normal"
  1689.         10: "Fluorescent flicker"
  1690.         2 : "Slow, strong pulse"
  1691.         11: "Slow pulse, noblack"
  1692.         5 : "Gentle pulse"
  1693.         1 : "Flicker A"
  1694.         6 : "Flicker B"
  1695.         3 : "Candle A"
  1696.         7 : "Candle B"
  1697.         8 : "Candle C"
  1698.         4 : "Fast strobe"
  1699.         9 : "Slow strobe"
  1700.     ]
  1701.     pattern(string) : "Custom Appearance"
  1702. ]
  1703.  
  1704. @PointClass base(Targetname, Angles, ZHLT_point) iconsprite("sprites/VS/LightEnvironment.spr") = light_environment : "Environment" 
  1705. [
  1706.     pitch(integer) : "Pitch" : 0
  1707.     _light(color255) : "Brightness" : "255 255 128 200"
  1708. ]
  1709.  
  1710. @SolidClass base(Door, ZHLT) = momentary_door : "Momentary/Continuous door" 
  1711. [
  1712.     spawnflags(flags) =
  1713.     [
  1714.         1 : "Starts Open" : 0
  1715.     ]
  1716. ]
  1717.  
  1718. @SolidClass base(Targetname, Target, Angles, RenderFields, ZHLT) = momentary_rot_button : "Direct wheel control" 
  1719. [
  1720.     speed(integer) : "Speed" : 50
  1721.     master(string) : "Master" 
  1722.     sounds(choices) : "Sounds" : 0 = 
  1723.     [
  1724.         0: "None"
  1725.         1: "Big zap & Warmup"
  1726.         2: "Access Denied"
  1727.         3: "Access Granted"
  1728.         4: "Quick Combolock"
  1729.         5: "Power Deadbolt 1"
  1730.         6: "Power Deadbolt 2"
  1731.         7: "Plunger"
  1732.         8: "Small zap"
  1733.         9: "Keycard Sound"
  1734.         21: "Squeaky"
  1735.         22: "Squeaky Pneumatic"
  1736.         23: "Ratchet Groan"
  1737.         24: "Clean Ratchet"
  1738.         25: "Gas Clunk"
  1739.     ]
  1740.     distance(integer) : "Distance (deg)" : 90
  1741.     returnspeed(integer) : "Auto-return speed" : 0
  1742.     spawnflags(flags) =
  1743.     [
  1744.         1: "Door Hack" : 0
  1745.         2: "Not useable" : 0
  1746.         16: "Auto Return" : 0
  1747.         64: "X Axis" : 0
  1748.         128: "Y Axis" : 0
  1749.     ]
  1750.     _minlight(integer) : "_minlight"
  1751. ]
  1752.  
  1753. @PointClass iconsprite("sprites/VS/MultiManager.spr") base(Targetname) color(255 128 0) = multi_manager : "MultiTarget Manager" 
  1754. [
  1755.     spawnflags(Flags) = 
  1756.     [
  1757.         1 : "multithreaded" : 0
  1758.     ]
  1759. ]
  1760.  
  1761. @PointClass iconsprite("sprites/VS/MultiSource.spr") base(Targetname, Target) color(128 255 128) = multisource : "Multisource"
  1762. [
  1763.     globalstate(string) : "Global State Master"
  1764. ]
  1765.  
  1766. @PointClass iconsprite("sprites/VS/PathCorner.spr") base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : "Moving platform stop"
  1767. [
  1768.     spawnflags(Flags) =
  1769.     [
  1770.         1: "Wait for retrigger" : 0
  1771.         2: "Teleport" : 0
  1772.         4: "Fire once" : 0
  1773.     ]
  1774.     target(target_destination) : "Next stop target"
  1775.     message(target_destination) : "Fire On Pass"
  1776.     wait(integer) : "Wait here (secs)" : 0
  1777.     speed(integer) : "New Train Speed" : 0
  1778.     yaw_speed(integer) : "New Train rot. Speed" : 0
  1779. ]
  1780.  
  1781. @PointClass iconsprite("sprites/VS/PathTrack.spr") base(Targetname, Angles) size(16 16 16) = path_track : "Train Track Path"
  1782. [
  1783.     spawnflags(Flags) =
  1784.     [
  1785.         1: "Disabled" : 0
  1786.         2: "Fire once" : 0
  1787.         4: "Branch Reverse" : 0
  1788.         8: "Disable train" : 0
  1789.     ]
  1790.     target(target_destination) : "Next stop target"
  1791.     message(target_destination) : "Fire On Pass"
  1792.     altpath(target_destination) : "Branch Path"
  1793.     netname(target_destination) : "Fire on dead end"
  1794.     speed(integer) : "New Train Speed" : 0
  1795. ]
  1796.  
  1797. //
  1798. // player effects
  1799. //
  1800.  
  1801. @PointClass iconsprite("sprites/VS/PlayerWeaponstrip.spr") base(Targetname) size(-16 -16 -16, 16 16 16) = player_weaponstrip : "Strips player's weapons" []
  1802.  
  1803. @PointClass iconsprite("sprites/VS/ScriptedSentence.spr") base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sentence : "Scripted Sentence"
  1804. [
  1805.     spawnflags(Flags) = 
  1806.     [
  1807.         1 : "Fire Once"     : 1
  1808.         2 : "Followers Only"    : 0
  1809.         4 : "Interrupt Speech"    : 1
  1810.         8 : "Concurrent"    : 0
  1811.     ]
  1812.     sentence(string) : "Sentence Name" : ""
  1813.     entity(string) : "Speaker Type"
  1814.     duration(string) : "Sentence Time" : "3"
  1815.     radius(integer) : "Search Radius" : 512
  1816.     refire(string) : "Delay Before Refire" : "3"
  1817.     listener(string) : "Listener Type"
  1818.     volume(string) : "Volume 0-10" : "10"
  1819.     attenuation(Choices) : "Sound Radius" : 0 =
  1820.     [
  1821.         0 : "Small Radius"
  1822.         1 : "Medium Radius"
  1823.         2 : "Large  Radius"
  1824.         3 : "Play Everywhere"
  1825.     ]
  1826. ]
  1827.  
  1828. @PointClass iconsprite("sprites/VS/ScriptedSequence.spr") base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sequence : "Scripted Sequence"
  1829. [
  1830.     m_iszEntity(string) : "Target Monster"
  1831.     m_iszPlay(string) : "Action Animation" : ""
  1832.     m_iszIdle(string) : "Idle Animation" : ""
  1833.     m_flRadius(integer) : "Search Radius" : 512
  1834.     m_flRepeat(integer) : "Repeat Rate ms" : 0
  1835.     m_fMoveTo(choices) : "Move to Position" : 0 =
  1836.     [
  1837.         0 : "No"
  1838.         1 : "Walk"
  1839.         2 : "Run"
  1840.         4 : "Instantaneous"
  1841.         5 : "No - Turn to Face"
  1842.     ]
  1843.     spawnflags(Flags) = 
  1844.     [
  1845.         4 : "Repeatable"    : 0
  1846.         8 : "Leave Corpse"    : 0
  1847.         32: "No Interruptions"    : 0
  1848.         64: "Override AI"    : 0
  1849.         128: "No Script Movement" : 0
  1850.     ]
  1851. ]
  1852.  
  1853. @PointClass iconsprite("sprites/VS/Speaker.spr") base(Targetname) = speaker : "Announcement Speaker"
  1854. [
  1855.     preset(choices) :"Announcement Presets" : 0 =
  1856.     [
  1857.         0: "None"
  1858.         1: "C1A0 Announcer"
  1859.         2: "C1A1 Announcer"
  1860.         3: "C1A2 Announcer"
  1861.         4: "C1A3 Announcer"
  1862.         5: "C1A4 Announcer"  
  1863.         6: "C2A1 Announcer"
  1864.         7: "C2A2 Announcer"
  1865.         // 8: "C2A3 Announcer"
  1866.         9: "C2A4 Announcer"
  1867.         // 10: "C2A5 Announcer"
  1868.         11: "C3A1 Announcer"
  1869.         12: "C3A2 Announcer"
  1870.     ]
  1871.     message(string) : "Sentence Group Name"
  1872.     health(integer) : "Volume (10 = loudest)" : 5
  1873.     spawnflags(flags) =
  1874.     [
  1875.         1: "Start Silent" : 0
  1876.     ]
  1877. ]
  1878.  
  1879. @PointClass iconsprite("sprites/VS/TargetCDAudio.spr") base(Targetname) = target_cdaudio : "CD Audio Target"
  1880. [
  1881.     health(choices) : "Track #" : -1 =
  1882.     [
  1883.         -1 : "Stop"
  1884.         1 : "Track 1"
  1885.         2 : "Track 2"
  1886.         3 : "Track 3"
  1887.         4 : "Track 4"
  1888.         5 : "Track 5"
  1889.         6 : "Track 6"
  1890.         7 : "Track 7"
  1891.         8 : "Track 8"
  1892.         9 : "Track 9"
  1893.         10 : "Track 10"
  1894.         11 : "Track 11"
  1895.         12 : "Track 12"
  1896.         13 : "Track 13"
  1897.         14 : "Track 14"
  1898.         15 : "Track 15"
  1899.         16 : "Track 16"
  1900.         17 : "Track 17"
  1901.         18 : "Track 18"
  1902.         19 : "Track 19"
  1903.         20 : "Track 20"
  1904.         21 : "Track 21"
  1905.         22 : "Track 22"
  1906.         23 : "Track 23"
  1907.         24 : "Track 24"
  1908.         25 : "Track 25"
  1909.         26 : "Track 26"
  1910.         27 : "Track 27"
  1911.         28 : "Track 28"
  1912.         29 : "Track 29"
  1913.         30 : "Track 30"
  1914.     ]
  1915.     radius(string) : "Player Radius"
  1916. ]
  1917.  
  1918. //
  1919. // Triggers
  1920. //
  1921.  
  1922. @PointClass iconsprite("sprites/VS/TriggerAuto.spr") base(Targetx) = trigger_auto : "AutoTrigger"
  1923. [
  1924.     spawnflags(Flags) =
  1925.     [
  1926.         1 : "Remove On fire" : 1
  1927.     ]
  1928.     globalstate(string) : "Global State to Read"
  1929.     triggerstate(choices) : "Trigger State" : 0 = 
  1930.     [
  1931.         0 : "Off"
  1932.         1 : "On"
  1933.         2 : "Toggle"
  1934.     ]
  1935. ]
  1936.  
  1937. @PointClass iconsprite("sprites/VS/TriggerCamera.spr") base(Targetx, Targetname) = trigger_camera : "Trigger Camera" 
  1938. [
  1939.     wait(integer) : "Hold time" : 10
  1940.     moveto(string) : "Path Corner"
  1941.     spawnflags(flags) =
  1942.     [
  1943.         1: "Start At Player" : 1
  1944.         2: "Follow Player" : 1
  1945.         4: "Freeze Player" : 0
  1946.     ]
  1947.     speed(string) : "Initial Speed" : "0"
  1948.     acceleration(string) : "Acceleration units/sec^2" : "500"
  1949.     deceleration(string) : "Stop Deceleration units/sec^2" : "500"
  1950. ]
  1951.  
  1952. @SolidClass base(Targetname) = trigger_cdaudio : "Trigger CD Audio"
  1953. [
  1954.     health(choices) : "Track #" : -1 =
  1955.     [
  1956.         -1 : "Stop"
  1957.         1 : "Track 1"
  1958.         2 : "Track 2"
  1959.         3 : "Track 3"
  1960.         4 : "Track 4"
  1961.         5 : "Track 5"
  1962.         6 : "Track 6"
  1963.         7 : "Track 7"
  1964.         8 : "Track 8"
  1965.         9 : "Track 9"
  1966.         10 : "Track 10"
  1967.         11 : "Track 11"
  1968.         12 : "Track 12"
  1969.         13 : "Track 13"
  1970.         14 : "Track 14"
  1971.         15 : "Track 15"
  1972.         16 : "Track 16"
  1973.         17 : "Track 17"
  1974.         18 : "Track 18"
  1975.         19 : "Track 19"
  1976.         20 : "Track 20"
  1977.         21 : "Track 21"
  1978.         22 : "Track 22"
  1979.         23 : "Track 23"
  1980.         24 : "Track 24"
  1981.         25 : "Track 25"
  1982.         26 : "Track 26"
  1983.         27 : "Track 27"
  1984.         28 : "Track 28"
  1985.         29 : "Track 29"
  1986.         30 : "Track 30"
  1987.     ]
  1988. ]
  1989.  
  1990. @PointClass iconsprite("sprites/VS/TriggerChangeTarget.spr") base(Targetx, Targetname) = trigger_changetarget : "Trigger Change Target"
  1991. [
  1992.     m_iszNewTarget(string) : "New Target"
  1993. ]
  1994.  
  1995. @SolidClass base(Trigger, Targetname) = trigger_counter : "Trigger counter" 
  1996. [
  1997.     spawnflags(flags) = 
  1998.     [ 
  1999.         1 : "No Message" : 0 
  2000.     ]
  2001.     master(string) : "Master" 
  2002.     count(integer) : "Count before activation" : 2
  2003. ]
  2004.  
  2005. @SolidClass base(Trigger) = trigger_gravity : "Trigger Gravity"
  2006. [
  2007.     gravity(integer) : "Gravity (0-1)" : 1
  2008. ]
  2009.  
  2010. @SolidClass base(Targetname,Target) = trigger_hurt : "Trigger player hurt" 
  2011. [
  2012.     spawnflags(flags) = 
  2013.     [ 
  2014.         1: "Target Once" : 0 
  2015.         2: "Start Off" : 0
  2016.         8: "No clients" : 0
  2017.         16:"FireClientOnly" : 0
  2018.         32:"TouchClientOnly" : 0
  2019.     ]
  2020.     master(string) : "Master" 
  2021.     dmg(integer) : "Damage" : 10
  2022.     delay(string) : "Delay before trigger" : "0"
  2023.     damagetype(choices) : "Damage Type" : 0 =
  2024.     [
  2025.         0 : "GENERIC"
  2026.         1 : "CRUSH"
  2027.         2 : "BULLET"
  2028.         4 : "SLASH"
  2029.         8 : "BURN"
  2030.         16 : "FREEZE"
  2031.         32 : "FALL"
  2032.         64 : "BLAST"
  2033.         128 : "CLUB"
  2034.         256 : "SHOCK"
  2035.         512 : "SONIC"
  2036.         1024 : "ENERGYBEAM"
  2037.         16384: "DROWN"
  2038.         32768 : "PARALYSE"
  2039.         65536 : "NERVEGAS"
  2040.         131072 : "POISON"
  2041.         262144 : "RADIATION"
  2042.         524288 : "DROWNRECOVER"
  2043.         1048576 : "CHEMICAL"
  2044.         2097152 : "SLOWBURN"
  2045.         4194304 : "SLOWFREEZE"
  2046.     ]
  2047. ]
  2048.  
  2049. @SolidClass base(Trigger) = trigger_multiple : "Trigger: Activate multiple" 
  2050. [
  2051.     wait(integer) : "Delay before reset" : 10
  2052. ]
  2053.  
  2054. @SolidClass base(Trigger) = trigger_once : "Trigger: Activate once" []
  2055.  
  2056. @SolidClass base(Trigger, Angles) = trigger_push : "Trigger player push"
  2057. [
  2058.     spawnflags(flags) = 
  2059.     [ 
  2060.         1: "Once Only" : 0 
  2061.         2: "Start Off" : 0
  2062.     ]
  2063.     speed(integer) : "Speed of push" : 40
  2064. ]
  2065.  
  2066. @PointClass iconsprite("sprites/VS/TriggerRelay.spr") base(Targetname, Targetx) = trigger_relay : "Trigger Relay"
  2067. [
  2068.     spawnflags(flags) =
  2069.     [
  2070.         1: "Remove On fire" : 0
  2071.     ]
  2072.     triggerstate(choices) : "Trigger State" : 0 = 
  2073.     [
  2074.         0: "Off"
  2075.         1: "On"
  2076.         2: "Toggle"
  2077.     ]
  2078. ]
  2079.  
  2080. @SolidClass base(Trigger) = trigger_teleport : "Trigger teleport" []
  2081.  
  2082.  
  2083.  
  2084.  
  2085. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  2086. //                                                    //
  2087. //                                                    //
  2088. //            VAMPIRE SLAYER GAME ENTITIES                            //
  2089. //                                                    //
  2090. //                                                    //
  2091. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  2092.  
  2093.  
  2094. @PointClass iconsprite("sprites/VS/InfoPlayerStart.spr") base(PlayerClass) size(-16 -16 -36, 16 16 36) color(0 255 255)= info_player_start : "Player 1 start" []
  2095. @PointClass  base(PlayerClass) size(-16 -16 -36, 16 16 36) color(255 0 0) = info_player_vampire : "Player Vampire start" []
  2096. @PointClass  base(PlayerClass) size(-16 -16 -36, 16 16 36) color(0 255 0) = info_player_slayer : "Player Slayer start" []
  2097. @PointClass  base(PlayerClass) size(-16 -16 -36, 16 16 36) color(0 0 255) = info_player_deathmatch : "Player deathmatch start" []
  2098. @PointClass  base(PlayerClass) size(-16 -16 -36, 16 16 36) color(0 0 255) = info_draw_slayerswin : "Slayers win in a round draw" []
  2099. @PointClass  base(PlayerClass) size(-16 -16 -36, 16 16 36) color(0 0 255) = info_draw_vampireswin : "Vimpires win in a round draw" []
  2100.  
  2101.  
  2102. @SolidClass base(Breakable, RenderFields, ZHLT) = func_breakpoints : "Breakable Points Object" 
  2103. [
  2104.     spawnflags(flags) =
  2105.     [
  2106.         1 : "Only Trigger" : 0
  2107.         2 : "Touch"       : 0
  2108.         4 : "Pressure"     : 0
  2109.         256: "Instant Crowbar" : 1
  2110.     ]
  2111.     _minlight(string) : "Minimum light level"
  2112.     vsteam(integer) : "Team (0=Slayer,1=Vampire)"
  2113.     points(integer) : "Points given to team when broken (0-100)"
  2114. ]
  2115.  
  2116.  
  2117. @PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_flag_slayer : "Slayer Cross" []
  2118. @PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) = item_flag_vampire : "Vampire Cross" []
  2119.  
  2120.  
  2121.  
  2122. //////////////////////////////////////////////////////////
  2123. //                            //
  2124. //                VS FX SYSTEM                         //
  2125. //                            //
  2126. //////////////////////////////////////////////////////////
  2127.  
  2128.  
  2129. @SolidClass base(Targetname) = env_efx : "Efx (box)" 
  2130. [
  2131.     efxscript(string) : "Efx Script"
  2132.     spawnflags(Flags) = 
  2133.     [
  2134.         1 : "Start Off"     : 0
  2135.     ]
  2136. ]
  2137.  
  2138. @PointClass base(Targetname) iconsprite("sprites/VS/envefx.spr") size(-16 -16 -16, 16 16 16) = env_efxp : "Efx (point)"
  2139. [
  2140.     efxscript(string) : "Efx Script"
  2141.     spawnflags(Flags) = 
  2142.     [
  2143.         1 : "Start Off"     : 0
  2144.     ]
  2145. ]
  2146.  
  2147. @PointClass base(Targetname) iconsprite("sprites/VS/envfog.spr") size(-16 -16 -16, 16 16 16) = env_fog : "Fog"
  2148. [
  2149.     fogcolour(color255) : "Fog Colour (R G B)" : "0 0 0"
  2150.     fogstart(integer) : "Fog Start Distance" 
  2151.     fogend(integer) : "Fog End Distance" 
  2152. ]
  2153.  
  2154.  
  2155.